package com.smart.community.feign.complaint;

import com.smart.community.commons.result.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

/**
 * 投诉服务Feign接口
 * 
 * @author Wu.Liang
 */
@FeignClient(
    name = "smart-community-complaint",
    fallback = ComplaintFeignClientFallback.class
)
public interface ComplaintFeignClient {
    
    /**
     * 获取投诉状态
     * 
     * @param complaintId 投诉ID
     * @return 投诉状态
     */
    @GetMapping("/complaint/status/{complaintId}")
    Result<?> getComplaintStatus(@PathVariable("complaintId") Long complaintId);
    
    /**
     * 获取投诉记录
     * 
     * @param userId 用户ID
     * @return 投诉记录
     */
    @GetMapping("/complaint/record/{userId}")
    Result<?> getComplaintRecords(@PathVariable("userId") Long userId);
    
    /**
     * 获取投诉详情
     * 
     * @param complaintId 投诉ID
     * @return 投诉详情
     */
    @GetMapping("/complaint/detail/{complaintId}")
    Result<?> getComplaintDetail(@PathVariable("complaintId") Long complaintId);
} 
